package com.storlead.email.service;

import com.alibaba.fastjson.JSONObject;

import java.io.File;
import java.util.List;
import java.util.Map;

/**
 * @Author: Timo
 * @Date: 2019/2/11 14:58
 * @Description: 邮件服务接口
 * 这里将暴漏所有可用的邮件接口
 */
public interface EmailService {


    /**
     * @Author: timo
     * @Date: 2019/2/11 15:02
     * @Description: 发送邮件
     *
     * @param toEmail   即将要发送的邮件
     * @param subject 主题
     * @param content   内容
     */
    void sendEmail(String toEmail, String subject , String content);

    /**
     * @Author: timo
     * @Date: 2019/2/11 15:02
     * @Description: 发送邮件
     *
     * @param toEmail   即将要发送的邮件
     * @param subject 主题
     * @param content   内容
     * @param fileUrls 附件
     *                 key 文件名
     *                 vaule 文件地址
     * @param html 是否是html格式
     */
    void sendEmail(String toEmail, String subject , String content, Map<String, File> fileUrls, boolean html);

    /**
     * @Author: timo
     * @Date: 2019/2/11 15:04
     * @Description: 发送邮件
     * 发送格式为html格式的
     * @param toEmail    接口方邮箱
     * @param subject  主题
     * @param content    内容
     *
     */
    void sendHtmlEmail(String toEmail, String subject , String content);

    /**
     * @Author: timo
     * @Date: 2019/2/11 15:04
     * @Description: 发送邮件
     * 发送格式为html格式的
     * @param toEmail    接口方邮箱
     * @param subject  主题
     * @param content    内容
     * @param fileUrls   附件
     *                   key 附件的名称
     *                   value 附件的地址
     */
    void sendHtmlEmail(String toEmail, String subject , String content, Map<String,File> fileUrls);

    /**
     * 收件箱
     * @return
     */
    JSONObject receivEmail(String emailType);
}
